const http = require('http')
const fs = require('fs')

// 通过 createServer创建服务
const server = http.createServer()

server.on('request', (req, res) => {
    console.log('有人访问了')
    // 根据不同的访问路径 返回不同的信息
    switch (req.url) {
        case "/":
            res.writeHead(200, http.STATUS_CODES[200], {
                'Content-Type': 'text/html;charset=utf-8'
            })
            res.write('<h1>根目录</h1>')
            break;
        case "/index":
            res.writeHead(200, http.STATUS_CODES[200], {
                'Content-Type': 'text/html;charset=utf-8'
            })
            // 这里link 所指引的路径不会被加载到css文件中，而是走到default选项，所以需要对/index.css路径做处理
            res.write(`
                    <html>
                            <head>
                                <link rel="stylesheet" href="/index.css">
                            </head>
                            <body>
                                    首页
                            </body>
                    </html>
            `)
            break;
        case "/index.css":   // 对/index中引入的css做处理
            res.write('body{color:red;}')
            break;
        case "/image":
            res.setHeader('Content-Type', 'image/jpg')
            let imgPath = '../tcp/server/index.jpg'
            let data = fs.readFileSync(imgPath)
            res.write(data)
            // let stream = fs.createReadStream(imgPath)  // 创建一个读取文件流
            // let streamData = []  // 存储读取文件的数据
            // if(stream){
            //     stream.on('data',chunk=>{
            //         streamData.push(chunk)
            //     })
            //     stream.on('end',()=>{
            //         var finalData = Buffer.concat(streamData)  // 最终读取到的数据
            //         console.log(finalData)
            //         res.write(finalData)
            //     })
            // }
            break;
        case "/404":
            res.writeHead(404, http.STATUS_CODES[404], {
                'Content-Type': 'text/plain;charset=utf-8'
            })
            res.write('页面被吃掉了')
            break;
        default:
            res.writeHead(301, 'chong ding xiang', {
                'Location': '/'
            })
    }
    res.end()
})


// 监听端口
server.listen(3000, '127.0.0.1')